Uprava tabulek za behu

Otázka od: konfera@rus.cz

22. 9. 2004 10:47

Zdravim,

  potrebuji do jedne tabulky pridat jedno pole. Resp. potrebuji zjistit, zda
  pole v tabulce existuje, a pokud ne, tak ho tam vytvorit (nejlepe bez ztraty
  jiz existujicich dat). Mate nekdo nejaky overeny postup?

  Rad bych to udelal jeste pred tim, nez bych tabulku otevrel, protoze ta bude
  obsahovat zpravidla docela velke mnozstvi dat ...

  Pomozte mi prosim. Dekuji moc, a prijemny den.

Prijemny den,

Peter


Odpovedá: Radek Bernatek

22. 9. 2004 13:43

   potrebuji do jedne tabulky pridat jedno pole.

Zalezi na tom v jake databezi, treba v Oracle by to bylo takto:
ALTER TABLE JMENO_TABULKY ADD ( NAZEV_SSLOUPCE NUMBER )

Radek Bernatek


Odpovedá: konfera@rus.cz

22. 9. 2004 14:32

Zdravim,

  bohuzel paradox .. ale uz je vyreseno.  

Prijemny den,

Peter


Original message (22. zari 2004, "Radek Bernatek"):

RB> potrebuji do jedne tabulky pridat jedno pole.

RB> Zalezi na tom v jake databezi, treba v Oracle by to bylo takto:
RB> ALTER TABLE JMENO_TABULKY ADD ( NAZEV_SSLOUPCE NUMBER )

RB> Radek Bernatek



Odpovedá: Slavomir Skopalik

22. 9. 2004 14:32

Ehm, uprava tabulek ceho ?
Pokud mas na mysli nejaky SQL server, tak se podivej na ALTER TABLE.

 Slavek

Ing. Slavomir Skopalik
Jednatel spolecnosti
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
--------------------------------------------
Mobil: +420 724 207 851
icq:199 118 333
e-mail:skopalik@elektlabs.cz
http://www.elektlabs.cz
 

> potrebuji do jedne tabulky pridat jedno pole. Resp.
> potrebuji zjistit, zda
> pole v tabulce existuje, a pokud ne, tak ho tam vytvorit
> (nejlepe bez ztraty
> jiz existujicich dat). Mate nekdo nejaky overeny postup?
>
> Rad bych to udelal jeste pred tim, nez bych tabulku
> otevrel, protoze ta bude
> obsahovat zpravidla docela velke mnozstvi dat ...
>


Odpovedá: Jan Rizek

22. 9. 2004 14:47

Pokud je to FB tak takto:


function ColumnExist(Table, Column: string): boolean;
begin
  with IBQUERY do begin
    Close;
    with Transaction do if not Active then StartTransaction;
    SQL.clear;
    
SQL.Add('select RDB$FIELD_NAME from rdb$relation_fields where
RDB$FIELD_NAME='''+Column+''' and RDB$RELATION_NAME='''+Table+'''');
    Open;
    Result:= RecordCount>0;
  end;
end;

if not ColumnExist then .... ALTER TABLE DOKLADY ADD DANOVY_DOKLAD A1
COLLATE WIN1250